home *** CD-ROM | disk | FTP | other *** search
-
- Listing 4 -- the file xfopen.c
-
- /* _Fopen function -- UNIX version */
- #include "xstdio.h"
-
- /* UNIX system call */
- int _Open(const char *, int, int);
-
- int _Fopen(const char *path, unsigned int smode,
- const char *mods)
- { /* open from a file */
- unsigned int acc;
-
- acc = (smode & (_MOPENR|_MOPENW)) ==
- (_MOPENR|_MOPENW) ? 2
- : smode & _MOPENW ? 1 : 0;
- if (smode & _MOPENA)
- acc |= 010; /* O_APPEND */
- if (smode & _MTRUNC)
- acc |= 02000; /* O_TRUNC */
- if (smode & _MCREAT)
- acc |= 01000; /* O_CREAT */
- return (_Open(path, acc, 0666));
- }
-
-